<?php
require_once 'AccesBBDD.class.php';
class PerfilVO {
	var $id_tipus_perfil;
	var $nom;
}

class PerfilsDAO {
	
	//Funcio que retorna id_perfils de la taula tipus perfil
function retornarPerfils(){
	
	$sql="SELECT id_tipus_perfil, nom FROM tipus_perfils";
	$bd=new AccesBBDD();
	$bd->conectar();
	$resultat=$bd->consultar($sql);
	
	$num_rows = mysql_num_rows($resultat);
	$perfil[$num_rows] = new PerfilVO();
	$i = -1;
	
	while ($columna = mysql_fetch_assoc($resultat)) {
		$i++;
		$perfil[$i]->id_tipus_perfil = $columna['id_tipus_perfil'];
		$perfil[$i]->nom = $columna['nom'];			
	}
	
	$bd->desconectar();
	return $perfil;	
}
//-----------------------------------------------------------
//  Fem servir la taula  "perfils"
//-----------------------------------------------------------
// FUncio LListar Perfil mitjançant un nombre d'usuari

Function LlistarTipusPerfils(){
$sql="select nom from tipus_perfils";
$bd=new AccesBBDD();
$bd->conectar();
$resultat=$bd->consultar($sql);
$bd->desconectar();
$resultSet=$resultat;	
return $resultSet;
}

Function LlistarPerfils($id_usuari){
	
	$sql="SELECT tp.nom FROM tipus_perfils tp, perfils pe where (pe.id_usuari=".$id_usuari.") AND (tp.id_tipus_perfil=pe.id_tipus_perfil)";
	$bd=new AccesBBDD();
	$bd->conectar();
	$resultat=$bd->consultar($sql);
	$resultSet=$resultat;
	
	while($arr_resul= mysql_fetch_assoc($resultSet))
	$id=$arr_resul['nom'];
	//echo $id." abans e tot";
	//if (!$resultat)
	//echo "error";
	
	$bd->desconectar();
	return $id;


// retornem un resultat en un array
//Return $ArrayResultat;	
}


//Funció encarregada de crear un perfil a partir de l'identificador de l'usuari (paràmetre 1) i l'identficador del perfil al que el volem associar (paràmetre2)	
	function crearPerfilUsu($id_usuari, $id_tperfil){
		$sql='INSERT INTO perfils VALUES ("",'.(int) $id_usuari.','.(int) $id_tperfil.')';
		$bd=new AccesBBDD();
		$bd->conectar();
		$bd->modificar($sql);
		$bd->desconectar();
	}
	
//Funció que elimina un perfil  mitjançant un identificador de perfil (paràmetre1)
	function eliminarPerfilUsu($id_perfil){
		$sql='DELETE FROM perfils WHERE id_perfil='.$id_perfil;
		$bd=new AccesBBDD();
		$bd->conectar();
		$bd->modificar($sql);
		
			
	$bd->desconectar();
	}
	

//Funció que modifica un perfil mitjançant un identificador de perfil (paràmetre1) y el nou perfil que volem associar al usuari (paràmetre2)
	function modificarPerfilUsu($id_perfil, $cambi){
		$sql='UPDATE perfils SET id_tipus_perfil='.$cambi.'WHERE id_perfil='.$id_perfil;
		$bd=new AccesBBDD();
		$bd->conectar();
		$bd->modificar($sql);
		$bd->desconectar();
	}
	
//-------------------------------------------------
// Fem servir la taula privilegis
//-------------------------------------------------
	
	
//Funció que crea Tipus de perfils, necesitem un nom de tipus de perfil(paràmetre1), i un privilegi associat(paràmetre2)

	
//funció que Elimina  un privilegi associat a un tipus de perfil, necessitem un nom de tipus privilegi(paràmetre1) i un identificador de privilegi (paràmetre2)
	function desassignarPrivisPerfil($id_tipus_perfil, $id_privilegi){
		
		
		$sql="DELETE FROM privilegis WHERE nom='".$id_tipus_perfil."' AND id_privilegi=".$id_privilegi;
		//$sql="DELETE FROM tipus_perfils WHERE nom='".$nom."'";
		$bd=new AccesBBDD();	
		$bd->conectar();
		$bd->modificar($sql);
		$bd->desconectar();
	
	
}
	function crearTipusPerfil($nom){
		$sql2="INSERT INTO tipus_perfils VALUES ('','".$nom."')";
		//echo $sql2;
		$bd=new AccesBBDD();	
		$bd->conectar();
		if ($bd->modificar($sql2)==true){
		$bd->desconectar();	
		echo "true";
		return true;
		}
		$bd->desconectar();
		echo "false";
		return false;
		
	}
	
	function associarPerfPrivi($id_tipus_perfil, $id_privilegi){
		$sql2="INSERT INTO privilegis VALUES ('','".$id_tipus_perfil."',".$id_privilegi.")";
		$bd=new AccesBBDD();	
		$bd->conectar();
		$bd->modificar($sql);
		$bd->desconectar();
	}
}

?>









